import axios from 'axios'
import store from '@/store'
// 导入message
import { Message } from 'element-ui'
import router from '@/router'
const request = axios.create({
  baseURL: process.env.VUE_APP_BASE_API
})
// 请求拦截
request.interceptors.request.use((config) => {
  // console.log(store.state.user.token)
  config.headers.token = store.state.user.token
  // 判断vuex中是否有token
  return config
}, (err) => {
  return Promise.reject(err)
})
// 请求响应
request.interceptors.response.use(
  res => {
    // res.request.responseType = 'arraybuffer'
    // console.log(res)
    // 请求拦截响应器把返回来的数据的msg的状态为ok时贼表示验证用户信息成功
    if (res.data.code && res.data.code === 200) {
      return res.data
    } else if (res.data.code === 206) {
      Message.error('登录失效')
      store.commit('user/logout')
      router.push('/login?secede=' + window.location.href.split('#')[1])
      return Promise.reject(res.data.message)

    } else if (res.data.code === 201) {
      Message.error(res.data.message)
      //token失效后登录回原来的页面
      return Promise.reject(res.data.message)
    }
  },
  err => {

    return Promise.reject(err)
  }
)
export default request
